Change Management is the discipline to track the changes in a project's
source code. Version Control System tools support a team
of developers working on the same repository each with their own working copy. There are many aspects to version control. This lesson will cover some basics of git.
Feature Branching is a release management technique for isolating user stories into
their own source repository branch. This permits user stories to be integrated into the master
branch at the time of the team's choosing.
In any team project, there will be times when multiple developers make changes
to the same files. In most cases, the changes do not overlap and so they can
be automatically merged. However, there will be cases in which the changes do overlap. This lesson finishes with a discussion of merge conflicts resolution.
Learning Outcomes
Describe what change management is and why it's important
Describe the basic workflow of a distributed version control system
Use fundamental git commands to perform version control
Use feature branching to facilitate release management of individual user stories
Identify types of merge conflicts, and prevention and resolution strategies
Study Resources
For your study of this topic, use these resources.
Video Lessons
LinkedIn.com has an extensive set of videos on using git in a complete course. Remember to access authenticating via RIT credentials Git Esstential Training
You should watch any other of the video lessons in the LinkedIn.com course for features of git that you are not comfortable using.
Every team member needs to gain proficiency using version control. Not having those skills will hinder your ability to contribute to your term project implementation work. Team members are expected to have an equal presence in the GitHub repository as indicated by the digital log created with all activities.
Branching and merging, and working extensively with a remote repository are git features that most of you have not used before. For more information on working with those features, watch these videos.
Follow the instructions given here to create your team's project repository in GitHub, and have each team member make an update.
By the date specified in the schedule for your section, follow the instructions given here to create a text file capturing the repository's log and deposit it in the GitHub repository - team dropbox in the myCourses dropbox Team Exercises area.
If you are like most teams, the level of proficiency and comfort with Github will vary among the members. We cannot reiterate this enough: Every team member needs to gain proficiency with the use of version control. You will gain it through practice like the exercise and resources above. The time invested in watching the videos above will pay back manyfold. You need to grok this one!
After-Class Project Work
Incorporate feature branches into your process workflow by developing each new user story in a new branch
You will notice that the STORY
Trello template card includes the following activities
on the Definition of Done checklist:
feature branch created
feature branch merged into master
feature branch deleted
These checklist items must now be completed to consider a user story done.
End-Of-Day Exercises
Version control concepts - quiz (2 exercise points)
Watch the required videos listed above.
Watch any other videos in this LinkedIn.com course that you feel will improve your competency with
git basics operations, branching, merging and working with remotes.
By the time indicated in the schedule for your course section, complete the 10-minute quiz, Version control concepts,
in the myCourses Quiz area.